package com.molichuxing.services.infrastructure.service;

import com.molichuxing.framework.service.RootService;
import com.molichuxing.services.infrastructure.dto.request.create.OrderReturnCreateDto;
import com.molichuxing.services.infrastructure.dto.request.modify.OrderRecycleCarsModifyDto;
import com.molichuxing.services.infrastructure.dto.response.OrderReturnDto;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 订单还车表 服务类
 * </p>
 *
 * @author renzhengyu
 * @since 2019-08-12
 */
public interface OrderReturnService extends RootService {

    /**
     * 根据订单号查询还车信息（不包含收车失败信息）
     *
     * @param orderCodes 订单号-list
     * @return
     */
    public Map<Long, OrderReturnDto> getMapByOrderCodes(List<Long> orderCodes);

    /**
     * 查询订单还车信息
     *
     * @param orderCode 订单号
     * @return
     */
    public OrderReturnDto getOrderReturnAll(Long orderCode);

    /**
     * 查询订单还车信息（不包含收车失败信息）
     *
     * @param orderCode 订单号
     * @return
     */
    public OrderReturnDto getOrderReturn(Long orderCode);

    /**
     * 订单还车新增
     *
     * @param createDto
     * @return
     */
    public Boolean create(OrderReturnCreateDto createDto);


    /**
     * 查询30天内还车的车辆id，去重
     *
     * @return
     */
    public List<OrderReturnDto> getOrderReturnDtoListByNow();

    /**
     * 收车修改
     *
     * @param modifyDto
     * @return
     */
    boolean modifyRecycle(OrderRecycleCarsModifyDto modifyDto);
}
